package cn.justforchris.blog.repository;

import cn.justforchris.blog.domain.Article;
import cn.justforchris.blog.domain.Comment;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * SpringBoot项目中使用Mongodb有两种，一种是在Service注入MongoTemplate直接调用API，一种是实现MongoRepository
 * 这里是实现MongoRepository, 注意：MongoRepository中定义的API方法，需要在接口上加上@Repository注解,这代表了交由
 * Spring管理.并且在定义api方法时需遵守Spring Data的命名规范，即方法名要以get、find、query、count、delete、save等开头
 * 并且条件也需要遵守Spring Data的命名规范，即方法名要以findBy开头By的后面部分要与属性名一致.
 * 在业务层使用的时候直接使用此接口即可，不需要再去注入MongoTemplate
 */
@Repository
public interface CommentRepository extends MongoRepository<Comment,String> {
    //根据文章id查询文章的所有评论
    //findBy是一种语法格式，ArticleId不能写错
    List<Comment> findByArticleId(Long articleId);

    Article findArticleById(String id);


}